﻿Imports SuporteModel
Public Interface IChamado

    Function CadastrarChamado(ByVal parChamado As Chamado) As Boolean

    Function FecharChamado(ByVal parIdChamado As Integer) As Boolean

    Function CadastrarComentario(ByVal parUsuario As Usuario, ByVal parIdChamado As Integer, ByVal parComentario As String) As Boolean

    Function BuscarChamadoPorId(ByVal parIdChamado As Integer) As Chamado

    Function AtualizarChamado(ByVal parIdChamado As Integer, ByVal parNovoComentario As Comentario) As Boolean

    Function ExcluirComentario(ByVal parIdComentario As Integer) As Boolean

    Function ListarComentarioPorChamado(ByVal parIdChamado As Integer) As List(Of Comentario)

    Function UltimoChamado() As Chamado

    <Obsolete("Existem metodos que realizam a consulta com todos os parametros")>
    Function ListarChamado(ByVal parPagAtual As Integer, ByVal parQuantidadeChamados As Integer, ByVal parDataInicio As DateTime, ByVal parDataFim As DateTime, ByVal parStatus As Integer, ByVal parTipo As Integer) As List(Of Chamado)
    <Obsolete("Existem metodos que realizam a consulta com todos os parametros")>
    Function ListarChamado(ByVal parPagAtual As Integer, ByVal parQuantidadeChamados As Integer, ByVal parStatus As Integer, ByVal parTipo As Integer) As List(Of SuporteModel.Chamado)


    'Paginação
    Function NextListaChamados(ByVal parPagAtual As Integer, ByVal parQuantidadeItens As Integer, ByVal parListaClientes As List(Of Cliente), ByVal parListaLojas As List(Of Loja), ByVal parListaSistemas As List(Of Sistema), ByVal parListaTecnicos As List(Of Tecnico), ByVal parListaTelas As List(Of Tela), ByVal parIdCodigo As Integer, ByVal parStatus As Integer, ByVal parTipo As Integer, ByVal parDataInicio As DateTime, ByVal parDataFim As DateTime) As List(Of Chamado)
    'Paginação
    Function PreviousListaChamados(ByVal parPagAtual As Integer, ByVal parQuantidadeItens As Integer, ByVal parListaClientes As List(Of Cliente), ByVal parListaLojas As List(Of Loja), ByVal parListaSistemas As List(Of Sistema), ByVal parListaTecnicos As List(Of Tecnico), ByVal parListaTelas As List(Of Tela), ByVal parIdCodigo As Integer, ByVal parStatus As Integer, ByVal parTipo As Integer, ByVal parDataInicio As DateTime, ByVal parDataFim As DateTime) As List(Of Chamado)

    Function TotalChamados() As Integer

    Function ListarChamado(ByVal parListaClientes As List(Of Cliente), ByVal parListaLojas As List(Of Loja), ByVal parListaSistemas As List(Of Sistema), ByVal parListaTecnicos As List(Of Tecnico), ByVal parListaTelas As List(Of Tela), ByVal parIdCodigo As Integer, ByVal parStatus As Integer, ByVal parTipo As Integer, ByVal parDataInicio As DateTime, ByVal parDataFim As DateTime) As List(Of Chamado)

    Function ListarChamado(parDataInico As DateTime, parDataFim As DateTime) As List(Of SuporteModel.Chamado)



End Interface
